/*
dispose方法 -- 销毁Domain对象
所有与该对象绑定的对象或回调函数都被解除绑定，他们所触发的错误不再被该Domain对象捕获
在Domain对象的run方法中指定的函数不再被运行，与Domain对象绑定的定时器也不再被运行

*/
var domain = require('domain');
var fs = require('fs');

var d = domain.create();
d.name = "d1";

d.on('error', function(err){
	console.log("%s捕获到错误！", d.name, err);
});

d.run(function(){
	process.nextTick(function() {
		setTimeout(function(){
			fs.open('non-existent-file', 'r', function(err, fd){
				if(err)
					throw err;
			});
		}, 1000);
	});
});

d.dispose();